1.软硬件说明

1.1Mind+介绍

Mind+是一款基于Scratch3.0开发的青少年编程软件,支持Arduino、行空板K10、行空板M10等各种开源硬件的图形化及代码编程,只需要拖动图形化程序块即可完成编程,还可以使用Python/C/C++等高级编程语言,让大家轻松体验创造的乐趣。

Mind+官网下载地址:https://mindplus.cc

1.2行空板K10介绍

行空板K10是一款专为快速体验和学习人工智能而设计的开发学习板,100%采用国产芯片,知识产权自主可控,符合信息科技课程中编程学习、物联网及人工智能等教学需求。该板集成LCD彩屏、WiFi蓝牙、摄像头、麦克风、扬声器、RGB指示灯、多种传感器及丰富的扩展接口。凭借高度集成的板载资源,教学过程中无需额外连接其他设备,便可轻松实现传感器控制、物联网应用以及人脸识别、语音识别、语音合成等人工智能项目。

行空板K10商城购买链接:https://www.dfrobot.com.cn/goods-4014.html

2.硬件连接

准备材料

准备一根USB数据线和一根4Pin白色硅胶线。使用USB数据线连接电脑与行空板K10,使用4Pin白胶先连接行空板K10与HuskyLens 2,再使用额外的USB数据线n连接示意图如下连接HUSKYLENS 2的Type-C接口与电源,为HUSKYLENS 2进行额外供电。接线图可参考下图。

Interface Diagram

3.加载HuskyLens 2库

3.1Mind+2.0版本库加载方式

双击打开2.0版本的Mind+编程软件,打开之后,找到'上传模式',点击选择上传模式,如下图。

Interface Diagram

等待上传模式初始化完成,点击左下角扩展,第一次使用需要下载相应的主控扩展库。找到'行空板K10'。点击右上角下载相应主控库。

Interface Diagram

当行空板K10扩展库下载完成后,点击加载行空板K10扩展库,加载成功后,如下图所示。

Interface Diagram

点击 '模块扩展' ,在模块扩展中搜索'HuskyLens 2',找到HuskyLens 2 扩展库并点击下载。

Interface Diagram

:以下所有的项目示例我们使用的Mind版本为2.0版本

3.2 Mind+1.8系列版本库加载方式

打开编程软件Mind+,点击右上角切换到上传模式。

Interface Diagram

点击左下角扩展,在主控板中选择行空板K10。

Interface Diagram

选择主控板之后,对应支持的扩展模块标签变成可选状态,点击传感器,找到HuskyLens 2 扩展库,点击加载模块,然后返回编程界面。

Interface Diagram

建议在开始制作项目前,确认并将HUSKYLENS 2固件更新为最新版本,截止2025年11.7,当前HUSKYLENS 2最新固件为1.1.6,找到系统设置 - 设备信息,可以看到当前的系统版本。更新固件请见:点击跳转

Interface Diagram


目前最新的HUSKYLENS 2图形化库版本为0.17,请使用最新版本库制作项目
>

4.人脸识别积木

4.1识别人脸输出相关数据

在人脸识别功能下,当人脸出现在HuskyLens 2屏幕中时,可以被检测和框出,从而获取检测到的人脸总数、指定人脸的相关数据。

示例程序如下

Interface Diagram

在Mind+中点击上传到设备,等待程序上传完成后。通过触屏,进入HuskyLens 2的人脸识别功能。

Interface Diagram

将HuskyLens 2的摄像头对准画面中的人脸分别学习,如何学习人脸详细操作请看:人脸识别功能-学习人脸
学习完成后,对准该人脸,可在K10屏幕上观察输出结果。
运行结果:如下,可以获取画面中检测到的人脸总数,不论该人脸是否已学习;可以指定获取靠近摄像头画面中心的人脸ID、第一个检测到的人脸ID(未学习过的人脸ID为0)。

Interface Diagram

4.2获取指定人脸的详细数据

可以获取指定人脸的五官、位置数据,可以读取的人脸数据有:人脸ID、人脸名称、宽度、高度以及人脸中心点的X坐标位置和Y坐标位置、左/右眼X坐标、左/右眼Y坐标、左/右嘴角X坐标、左/右嘴角Y坐标、鼻子X/Y坐标位置。
如以下示例程序可以获取靠近摄像头中心画面的人脸的五官数据,未学习的人脸亦可获取。

Interface Diagram

运行结果: 如下图,运行程序,K10屏幕上显示人脸ID号及该人脸的五官坐标数据。由于该人脸未学习,因此人脸ID为0。

Interface Diagram

除上述数据以外,还可以获取更多人脸数据,如画面中某个指定人脸的总数、该人脸的名称、第一个该人脸的相关数据。(未学习的人脸亦可获取以上数据)
以某个已学习的人脸为例,示例程序如下:

Interface Diagram

运行结果: 如下图,运行程序,K10屏幕上显示画面中ID1人脸总数、该人脸的名称,第一个检测到的ID1人脸中心XY坐标。(人脸名称默认为“人脸”,设置名字操作,详见 人脸识别功能说明-设置名字。)

Interface Diagram

4.3人脸识别积木说明

积木 说明
HUSKYLENS 2 的人脸识别功能下,用于获取一次人脸识别的数据结果。
判断当前画面中是否存在人脸。
获取离屏幕十字光标最近的一个人脸的相关数据,包括人脸的ID、自定义的人脸的名称、中心点X坐标、中心点Y坐标、宽度、高度、左/右眼X坐标、左/右眼Y坐标、左/右嘴角X坐标、左/右嘴角Y坐标、鼻子X/Y坐标位置。
获取屏幕中所有检测到的人脸的数量,包括未学习的和已学习的人脸。
当出现多个标签时,获取某一指定人脸的相关数据。
判断指定ID的人脸是否存在在画面中。未学习的ID统一为0,已学习的ID按学习顺序排序。
获取当前画面中指定ID的人脸数量。
当出现多个人脸时,获取某一指定人脸的相关数据。
当出现多个同一ID的人脸时,获取某一指定人脸的相关数据。

5.物体识别积木

5.1识别物体输出相关数据

可识别HuskyLens 2视野内的物体(须是可识别的80种固定类别物体,详见物体识别功能介绍),获取物体相关数据,可以读取的数据有:画面中可识别物体的总数、靠近HuskyLens 2摄像头画面中心的物体ID号、检测到的第一个物体。

示例程序如下

Interface Diagram

在Mind+中点击上传到设备,等待程序上传完成后。
通过触屏,进入HuskyLens 2的物体识别功能。将HuskyLens 2的摄像头对准画面中的物体分别学习,如何学习物体详细操作请看:物体识别功能-学习物体

Interface Diagram

学习完成后,对准该物体,可在K10屏幕上观察输出结果。
运行结果: 可输出识别到的物体总数,可按要求输出相应物体ID号、名称等数据。如果符合要求的物体没有被学习,则ID号为0。

Interface Diagram

5.2获取指定物体的相关数据

HuskyLens 2识别物体后,可获取画面中指定物体的相关数据。例如,判断某个指定的物体是否在画面中、指定物体的名称、可获取画面中指定同类物体的数量,当画面中出现多个同类物体时,可指定获取其中某个物体的相关参数,包括名称、X/Y坐标、宽度、高度。

示例程序如下:

Interface Diagram

运行结果:如图所示,可获取到画面中的物体总数、画面中ID2物体数量、名称,以及检测到的第一个ID2物体的坐标位置。

Interface Diagram

5.3 物体识别积木说明

积木 说明
HUSKYLENS 2 的物体识别功能下,用于获取一次物体识别的数据结果。
判断当前画面中是否存在可识别物体。
获取离屏幕十字光标最近的一个物体的相关数据,包括物体的ID、物体的名称、物体中心点X坐标、物体中心点Y坐标、宽度、高度。
获取屏幕中所有检测到的可识别物体的数量。
当出现多个可识别物体时,获取某一指定物体的相关数据。
判断指定ID的物体是否存在于画面中。(HUSKYLENS 2 学习物体后,会按学习顺序分配ID号。
获取当前画面中指定ID的物体数量。
获取某一指定物体的相关数据。
当出现多个同类的物体时,获取某一指定物体的相关数据。

6.物体追踪积木

6.1追踪物体输出相关数据

当HUSKYLENS 2检测到可追踪的目标物体时,可获取相关追踪数据。可以获取的数据有:物体的ID、名称、xy坐标、宽度、高度。

示例程序如下

Interface Diagram

在Mind+中点击上传到设备,等待程序上传完成后。
将HUSKYLENS 2摄像头对准要追踪的物体(追踪物体须先框选目标,详见物体追踪使用说明)。
框选完成后,对准要追踪的目标物体,可观察输出结果。
运行结果:可输出追踪到的物体ID、名称、xy坐标、宽度、高度。物体名称默认为"物体"。

Interface Diagram

6.2 物体追踪积木说明

积木 说明
HUSKYLENS 2 的物体追踪功能下,用于获取一次物体追踪的数据结果。
判断当前画面中是否存在可追踪的目标物体。
获取追踪的目标物体的相关数据。

7.颜色识别积木

7.1识别颜色输出相关数据

可识别HUSKYLENS 2视野内的色块,并输出色块相关数据,可以读取的数据有:靠近HUSKYLENS 2摄像头画面中心的色块ID号、检测到的色块总数、第一个检测到的色块ID号等。

示例程序如下

Interface Diagram

在Mind+中点击上传到设备,等待程序上传完成。
将HUSKYLENS 2的十字光标对准色块进行学习,如何学习颜色详细操作请看:颜色识别功能-学习颜色
学习完成后,将HUSKYLENS 2摄像头对准色块,观察输出结果。
运行结果:可输出检测到的色块总数,无论该色块是否已学习,只要方框框出色块,就会计数。可按要求输出相应色块ID号,其中靠近画面中心的色块被白框框出,即未学习的色块,因此输出的ID号为0。

Interface Diagram

7.2获取指定颜色的相关数据

HUSKYLENS 2识别颜色后,可获取画面中指定颜色的相关数据。例如,判断某个指定的颜色是否在画面中、指定颜色的名称、可获取画面中相同的指定颜色的色块数量,当画面中出现多个相同颜色的色块时,可指定获取其中某个色块的相关参数,包括名称、X/Y坐标、宽度、高度。

示例程序如下:

Interface Diagram

运行结果: 如图所示,可获取到画面中ID1的色块总数、ID1的色块名称,以及第一个检测到的ID1色块的坐标位置。(颜色名称可以自定义,默认为“颜色”,设置名字详见颜色识别功能-设置名字)

Interface Diagram

7.3 颜色识别积木说明

积木 说明
HUSKYLENS 2 的颜色识别功能下,用于获取一次颜色识别的数据结果。
判断当前画面中是否存在可识别的色块。
获取离屏幕十字光标最近的一个色块的相关数据,包括色块的ID、色块的名称、色块中心点X坐标、色块中心点Y坐标、宽度、高度。
当检测到多个色块时,获取某一指定色块的相关数据。(若该色块为学习,则ID号为0)。
判断指定ID的颜色是否存在于画面中。(HUSKYLENS 2 学习颜色后,会按学习顺序分配ID号)。
获取当前画面中某个已学习颜色的色块数量。
获取某个已学习颜色的相关数据。
当出现多个相同颜色的色块时,获取其中某一指定色块的相关数据。

8.自学习分类积木

8.1识别已学习物体输出ID与名称

在自学习分类功能下,当已学习某一物体后,HUSKYLENS 2 再次见到该物体就能识别出来,可以使用以下示例程序获取识别的已学习物体对应ID和名称。

示例程序如下

Interface Diagram

在Mind+中点击上传到设备,等待程序上传完成后。
HUSKYLENS 2学习物体完成后,将HUSKYLENS 2摄像头对准已学习的物体,观察输出结果。如何学习物体详细操作请看:自学习分类功能-学习物体
运行结果:如下,当已学习过的某一物体出现在画面中时会被框出同时显示该物体名称、ID与置信度。如果未设置该物体的名称,则输出名称默认为:物体。如何设置名称请见参数设置

Interface Diagram

8.2 自学习分类积木说明

积木 说明
HUSKYLENS 2 的自学习分类功能下,用于获取一次识别到底已学习的物体的识别结果。
判断是否检测到已学习过的某一物体。
获取某一已学习过物体的相关数据包括ID与名称。ID从1起按照学习的先后顺序依次排列。若未自定义物体名称则默认名称为物体;若已自定义了物体名称,输出的名称与HUSKYLENS 2 屏幕显示的名称保持一致。

9. 手势识别积木

9.1 识别手势输出相关数据

可检测HuskyLens 2视野内的手势,获取手势相关数据,可以读取的数据有:画面中检测到的手势总数、靠近HuskyLens 2摄像头画面中心的手势ID号、检测到的第一个手势ID号。

示例程序如下

Interface Diagram

在Mind+中点击上传到设备,等待程序上传完成后。
通过触屏,进入HuskyLens 2的手势识别功能。将HuskyLens 2的摄像头对准画面中的手势进行学习,如何学习手势详细操作请看:手势识别功能-学习手势

Interface Diagram

学习完成后,对准该手势,可在K10屏幕上观察输出结果。
**运行结果:**可输出检测到的手势总数,不管是否为学习过的手势,只要检测到手势都会计数(方框框出即检测为手势)。可按要求输出相应手势的ID号,学习过的手势会按照学习顺序分配ID号,未学习过的手势,其ID号为0。

Interface Diagram

9.2获取画面中指定手势的相关数据

可以获取指定手势的ID号、名称、手指、手腕等关键点的数据,详细数据有:手势ID、手势名称、手势中心点的X坐标位置和Y坐标位置、宽度、高度、手腕X/Y坐标,每根手指的根部、关节、指尖的X/Y坐标。

可以获取靠近摄像头画面中心的手势的手腕、五根手指指尖的X/Y坐标数据,未学习的手势亦可获取。

如以下示例程序

Interface Diagram

运行结果: 如下图,运行程序,K10屏幕上显示手势ID号及该手势的关键点数据。由于该手势未学习,因此手势ID为0。

Interface Diagram

除以上数据,还可以获取更多指定手势的数据。例如,判断某个指定手势是否在画面中、指定手势的名称、可获取画面中相同手势的数量,当画面中出现多个相同手势时,可指定获取其中某个手势的相关参数,包括名称、手势中心X/Y坐标、宽度、高度、指尖坐标、手腕坐标数据等等。

示例程序如下:

Interface Diagram

**运行结果:**如图所示,可获取到画面中ID1手势数量、名称,以及检测到的第一个ID1手势的坐标位置。

Interface Diagram

9.3 手势识别积木说明

积木 说明
HUSKYLENS 2 的手势识别功能下,用于获取一次手势识别的数据结果。
判断当前画面中是否存在手势。
获取离屏幕十字光标最近的一个手势的相关数据,包括手势ID、手势名称、手势中心点的X/Y坐标位置、宽度、高度、手腕X/Y坐标,每根手指的根部、关节、指尖的X/Y坐标。
获取屏幕中所有检测到的手势的数量。
当检测到多个手势时,获取某一指定手势的相关数据。
判断指定ID的手势是否存在于画面中。(HUSKYLENS 2 学习手势后,会按学习顺序分配ID号)。
获取当前画面中某个指定ID的手势的总数。
获取某个指定ID的手势的相关数据。
当出现多个相同的指定ID的手势时,获取某一指定手势的相关数据。

10.姿态识别积木

10.1识别人体姿态输出相关数据

可识别HuskyLens 2视野内的人体姿态,获取姿态相关数据,可以读取的数据有:检测到的人体总数、靠近HuskyLens 2摄像头画面中心的人体姿态ID号、检测到的第一个姿态的ID号。

示例程序如下

Interface Diagram

在Mind+中点击上传到设备,等待程序上传完成后。
通过触屏,进入HuskyLens 2的姿态识别功能。将HuskyLens 2的摄像头对准画面中的人体姿态进行学习,如何学习姿态详细操作请看:姿态识别功能-学习姿态

Interface Diagram

学习完成后,对准该姿态,可在K10屏幕上观察输出结果。
**运行结果:**可输出检测到的人体总数;可输出指定人体姿态ID号,已学习的人体姿态会按学习顺序分配ID号,未学习的姿态,ID号为0。

Interface Diagram

10.2获取指定姿态的相关数据

可以获取指定人体姿态的ID号、名称、五官、人体关节等关键点的数据,详细数据有:人体ID、人体姿态名称、人体中心点的X坐标位置和Y坐标位置、宽度、高度,左右眼耳鼻X/Y坐标,左右两边肩膀、手肘、手腕、臀部、膝盖、脚踝的X/Y坐标。详情请看姿态识别积木说明。
可以获取靠近摄像头画面中心的人体的鼻子、左边肩膀、手肘、臀部、膝盖、脚踝的X/Y坐标数据,未学习的人体姿态亦可获取。

如以下示例程序

Interface Diagram

**运行结果:**如下图,运行程序,K10屏幕上显示人体ID号及该人体的鼻子、部分人体关键点的坐标数据。由于该人体姿态未学习,因此人体ID为0。

Interface Diagram

除以上数据,还可以获取更多人体姿态数据。例如,判断某指定ID的姿态是否在画面中、指定姿态的名称、可获取画面中相同姿态的数量,当画面中出现多个相同姿态时,可指定获取其中某个姿态的相关参数,包括名称、X/Y坐标、宽度、高度及人体关键点坐标数据。

示例程序如下:

Interface Diagram

运行结果:如图所示,可获取到画面中ID1姿态数量、名称,以及检测到的第一个ID1姿态的坐标位置。

Interface Diagram

10.3 姿态识别积木说明

积木 说明
HUSKYLENS 2 的姿态识别功能下,用于获取一次姿态识别的数据结果。
判断当前画面中是否存在人体。
获取离屏幕十字光标最近的一个人体姿态的相关数据,包括人体姿态的ID、人体姿态的名称、人体姿态中心点X坐标、人体姿态中心点Y坐标、宽度、高度,左右眼耳鼻X/Y坐标,左右两边肩膀、手肘、手腕、臀部、膝盖、脚踝的X/Y坐标。
获取屏幕中所有检测到的人体数量。
当出现多个人体时,获取某一指定人体的相关数据。
判断某个指定ID的姿态是否存在于画面中。(HUSKYLENS 2 学习姿态后,会按学习顺序分配ID号)。
获取当前画面中某个指定ID姿态的数量。
获取某个指定ID姿态的相关数据。
当出现多个相同姿态时,获取其中某一个姿态的相关数据。

11.车牌识别积木

11.1识别车牌输出相关数据

在车牌识别功能下,当车牌出现在HUSKYLENS 2屏幕中时,可以被识别和框出,并获车牌的相关数据。可以读取车牌的数据有:指定车牌的ID、名称、车牌内容(车牌号)、宽度、高度以及车牌中心点的X坐标位置和Y坐标位置,画面中的车牌总数。

示例程序如下

Interface Diagram

在Mind+中点击上传到设备,等待程序上传完成后。
将HuskyLens 2的摄像头对准画面中的车牌进行学习,如何学习车牌详细操作请看车牌识别功能说明
将HUSKYLENS 2的摄像头对准车牌,观察行空板K10屏幕上的数据。

**运行结果:**如下,车牌总数包含已学习的车牌和未学习的车牌,如果指定的车牌是未学习的车牌,ID号为0,如果指定车牌是已学习的车牌,则输出其对应ID号。

Interface Diagram

11.2输出指定ID车牌的数据

当画面中出现多个相同ID的车牌时,可以使用以下示例程序统计画面中的该ID车牌的相关数据。

Interface Diagram

**运行结果:**如下,当画面中出现多个指定ID的车牌时,可获取画面中该ID车牌的总数、该ID下指定车牌的车牌号、车牌坐标等数据。

Interface Diagram

11.2车牌识别积木说明

积木 说明
HUSKYLENS 2 的车牌识别功能下,用于获取一次车牌识别的数据结果。
判断当前画面中是否存在车牌。
获取离屏幕十字光标最近的一个车牌的相关数据,包括车牌的ID、车牌名称、车牌中心点X坐标、车牌中心点Y坐标、宽度、高度和解析出的车牌内容。
获取屏幕中所有检测到的车牌的数量,包括未学习的和已学习的车牌。
当出现多个车牌时,获取某一指定车牌的相关数据。
判断指定ID的车牌是否存在在画面中。未学习的车牌ID统一为0,已学习的车牌ID按学习顺序排序。
获取当前画面中指定ID的车牌数量。
获取当前画面中指定ID的车牌的相关数据。
当出现多个同一ID的车牌时,获取某一指定车牌的相关数据。

12.光学字符识别积木

12.1识别文字输出相关数据

在光学字符识别功能下,HUSKYLENS 2 可识别并框出视野内文字块出现的区域,并将识别到的文字显示在屏幕上,可使用以下示例程序,统计画面中可识别文字块的总数、获取画面中离十字光标最近的文字块相关数据,可以读取的数据有:文字块的ID 、名称、内容、中心点X坐标和Y坐标、文字块宽度和高度。

示例程序如下

Interface Diagram

在Mind+中点击上传到设备,等待程序上传完成后。
将HUSKYLENS 2的摄像头对准任意光学字符,观察K10屏幕显示的结果。
**运行结果:**如下,对于未学习过的文字块默认输出ID为0。

Interface Diagram

可以对准一张学习过的文字块,如何学习光学字符详细操作请看:光学字符识别-学习文字

**运行结果:**如下,对于已学习过的文字块输出ID与HUSKYLENS 2屏幕显示的ID保持一致。
注:在光学字符识别功能下,HUSKYLENS 2能检测出画面中所有文字块出现的区域并用方框圈出,但是只识别十字光标所在的一个文字块区域的内容并讲文字内容显示在方框左上角。

Interface Diagram

12.2 光学字符识别积木说明

积木 说明
HUSKYLENS 2 的光学字符识别功能下,用于获取一次文字识别的数据结果。
判断当前画面中是否检测到文字。
获取离屏幕十字光标最近的一个文字的相关数据,包括文字的ID、名称、中心点X坐标、中心点Y坐标、宽度、高度。
获取屏幕中所有检测到的文字区域的总数量。
当检测到多个文字块时,获取某一指定文字块的相关数据。
判断指定ID的文字块是否存在于画面中。
获取指定ID的文字块总数。
获取某个ID文字块的相关数据。
当出现多个相同文字块时,获取其中某一指定文字块的相关数据。

13. 巡线积木

13.1识别路线输出数据

在巡线功能下,HUSKYLENS 2可以标记出画面中路线的轨迹,获取当前路线的长度、角度和X、Y分量。当路线出现分支时,可以获取路口的分支数量和逆时针方向起每条分支的相应数据。

示例程序如下

Interface Diagram

**运行结果:**如图所示,将HUSKYLENS的镜头对准带有路线的地图,观察行空板K10屏幕输出的当前路线长度、角度等数据。当路线由多个分支时,可以输出分支数量、逆时针方向指定路线的X分量数据。

Interface Diagram

上述显示的路线的长度和角度是路线映射到huskylens 2屏幕上后经过几何计算后的结果。

接下来说明巡线读取的X,Y分量,角度和长度的计算方式:

如下图,以下图在巡线中识别出的黑线为例。

角度:路线起点与终点形成的直线与Y 轴的夹角,对应巡线读取的 “角度” 的数值,角度数值范围为-90~90,顺时针方向为正值,逆时针方向为负值。

长度:路线起点到终点的直线距离为巡线读取的 “长度” 的数值。

X分量:从路线起点到HUSKYKLKENS 屏幕中点(坐标为[320,480])的直线距离为X分量值,如果从起点到屏幕中点方向朝右则X 分量为;向左,则X 分量为

Y分量:从路线终点到X轴的垂直距离为Y 分量

Interface Diagram

13.2 巡线识别积木说明

积木 说明
HUSKYLENS 2 的巡线功能下,用于获取一次巡线追踪的数据结果。
判断当前画面中是否存在路线。
获取当前路线的相关数据,包括巡线的X分量、Y分量、角度和长度。(当前线段即从HUSKYLENS 2 屏幕底部出发的线段,以上路线数据与HUSKYLENS 2 屏幕分辨率有关,其分辨率为640*480) ● 路线X分量,范围-320到+320,表示当前线段的终点x坐标距离屏幕X中点320的距离,当线段终点在屏幕最左侧时数据为-320。 ● 路线Y分量,范围0到480,表示当前线段的终点Y坐标距离屏幕最下边的距离,当线段终点在屏幕最上侧时数据为480。 ● 路线角度,范围-90到+90,表示从屏幕(320,480)这个点到线段终点连成的线段,与屏幕X轴中线的夹角,线段偏左时数据为负值。 ● 路线长度,即当前线段的长度。
获取屏幕中检测到的分支路线数量。如上文实拍图,从红线出发,会有3条分支路线。
当出现多条分支路线时,获取某一指定路线的相关数据。如上文实拍图,逆时针第一条分支路线指的是屏幕右边的浅蓝色线条。

14.表情识别积木

在表情识别功能下,HUSKYLENS 2 能识别7种特定的表情:愤怒(ID为1)、厌恶(ID为2)、恐惧(ID为3)、开心(ID为4)、中性(ID为5)、悲伤(ID为6)和惊讶(ID为7)。以上表情已经在HUSKYLENS 2 出厂时学习完毕,无需用户再次手动学习,表情识别的详细功能使用说明请见表情识别
通过以下示例程序能统计当前HUSKYLENS 2 摄像头画面出识别出的所有表情的数量、输出指定表情的ID。

示例程序如下

Interface Diagram

在Mind+中点击上传到设备,等待程序上传完成。
当任意以上七种表情出现在摄像头画面中,观察HUSKYLENS 2 的屏幕会将表情框出,显示表情ID、名称和置信度。同时,行空板K10屏幕上显示根据程序输出的结果数据。

**运行结果如下:**根据程序要求,输出了指定的表情ID、画面中表情总数。

Interface Diagram

14.2获取画面中指定表情的相关数据

当画面中出现多个相同ID的表情时,可以使用以下示例程序统计画面中的该ID表情的相关数据。

Interface Diagram

运行结果:如下,当画面中出现多个指定ID的表情时,可获取画面中该ID表情的总数、名称、该ID下某个指定表情的坐标等数据。

Interface Diagram

14.3 表情识别积木说明

积木 说明
HUSKYLENS 2 的表情识别功能下,用于获取一次表情识别的数据结果。
判断当前画面中是否特定的七类表情(愤怒(ID为1)、厌恶(ID为2)、恐惧(ID为3)、开心(ID为4)、中性(ID为5)、悲伤(ID为6)和惊讶(ID为7))。
获取离屏幕十字光标最近的一个表情的相关数据,包括表情的ID、名称、中心点X坐标、中心点Y坐标、宽度、高度。
获取屏幕中所有检测到的表情总数量。
当检测到多个表情时,获取某一指定表情的相关数据。
判断指定ID的表情是否存在于画面中(愤怒(ID为1)、厌恶(ID为2)、恐惧(ID为3)、开心(ID为4)、中性(ID为5)、悲伤(ID为6)和惊讶(ID为7))。
获取指定ID的表情总数。
获取某个ID表情的相关数据。
当出现多个相同表情时,获取其中某一指定表情的相关数据。

15.标签识别积木

15.1识别标签输出相关数据

HUSKYLENS 2能识别出现在画面中的AprilTag标签,可以通过编程获取画面中检测到的标签相关数据。可以读取的标签数据有:指定标签的数据,包括标签ID、标签内容、标签宽度、标签高度以及标签中心点的X坐标位置和Y坐标位置等、检测到的标签总数。

示例程序如下

Interface Diagram

在Mind+中点击上传到设备,等待程序上传完成后。
将HuskyLens 2的摄像头对准画面中的标签可进行学习,如何学习标签详细操作请看:标签识别功能-学习标签。
将HUSKYLENS 2的摄像头对准标签码,观察K10屏幕显示的结果。

**运行结果:**如图所示,可输出检测到的标签码数量(无论是否该标签码已学习)、可输出指定的标签ID,未学习的标签码则为0。

Interface Diagram

15.2获取指定标签的相关数据

HuskyLens 2识别标签后,可获取画面中指定标签的相关数据。例如,判断某个指定ID的标签是否在画面中、可获取画面中相同ID的标签数量,当画面中出现多个相同ID的标签时,可指定获取其中某个标签的相关参数,包括名称、内容、X/Y坐标、宽度、高度。

示例程序如下:

Interface Diagram

运行结果:如图所示,画面中有两个未学习的标签码(ID为0),第一个ID0标签是左边的,该标签的内容是48,第二个ID0标签是右边的,该标签的坐标是(505,263)。

Interface Diagram

15.3 标签识别积木说明

积木 说明
HUSKYLENS 2 的标签识别功能下,用于获取一次标签识别的数据结果。
判断当前画面中是否存在标签。
获取离屏幕十字光标最近的一个标签的相关数据,包括标签的ID、标签中心点X坐标、标签中心点Y坐标、宽度、高度和解析出的标签内容。
获取屏幕中所有检测到的标签的数量,包括未学习的和已学习的标签。
当出现多个标签时,获取某一指定标签的相关数据。
判断指定ID的标签是否存在在画面中。未学习的标签ID统一为0,已学习的标签ID按学习顺序排序。
获取当前画面中指定ID的标签数量。
获取当前画面中指定ID的标签的相关数据。
当出现多个同一ID的标签时,获取某一指定标签的相关数据。

16.二维码识别积木

16.1识别二维码输出相关数据

HUSKYLENS 2能识别出现在画面中的二维码,可以通过编程获取画面中检测到的二维码相关数据。可以读取的二维码数据有:检测到的二维码总数,指定二维码的数据,包括二维码ID、内容、宽度、高度以及二维码中心点的X坐标位置和Y坐标位置。

示例程序如下

Interface Diagram

在Mind+中点击上传到设备,等待程序上传完成后。
将HuskyLens 2的摄像头对准画面中的二维码可进行学习,如何学习二维码详细操作请看:二维码识别功能-学习二维码

将HUSKYLENS 2的摄像头对准二维码,观察K10屏幕显示的结果。
运行结果:如图所示,可输出检测到的二维码数量(无论是否该二维码已学习)、可输出指定的二维码ID,未学习的二维码则为0。

Interface Diagram

16.2获取指定二维码的相关数据

HuskyLens 2识别二维码后,可获取画面中指定二维码的相关数据。例如,判断某个指定ID的二维码是否在画面中、可获取画面中相同ID的二维码数量,当画面中出现多个相同ID的二维码时,可指定获取其中某个二维码的相关参数,包括名称、内容、X/Y坐标、宽度、高度。

示例程序如下:

Interface Diagram

运行结果:如图所示,画面中有两个未学习的二维码(ID为0),第一个ID0二维码是右边的,该标签的内容是“南瓜面包”,第二个ID0二维码是左边的,该二维码的坐标是(138,228)。

Interface Diagram

16.3二维码识别积木

积木 说明
HUSKYLENS 2 的二维码识别功能下,用于获取一次二维码识别的数据结果。
判断当前画面中是否存在二维码。
获取离屏幕十字光标最近的一个二维码的相关数据,包括二维码的ID、二维码名称、二维码中心点X坐标、二维码中心点Y坐标、宽度、高度和解析出的二维码内容。
获取屏幕中所有检测到的二维码的数量,包括未学习的和已学习的二维码。
当出现多个二维码时,获取某一指定二维码的相关数据。
判断指定ID的二维码是否存在在画面中。未学习的二维码ID统一为0,已学习的二维码ID按学习顺序排序。
获取当前画面中指定ID的二维码数量。
获取当前画面中指定ID的二维码的相关数据。
当出现多个同一ID的二维码时,获取某一指定二维码的相关数据。

17.条形码识别积木

17.1识别条形码输出相关数据

HUSKYLENS 2能识别出现在画面中的条形码,可以通过编程获取画面中检测到的条形码相关数据。可以读取的条形码数据有:检测到的条形码总数,指定条形码的数据,包括条形码ID、内容、宽度、高度以及条形码中心点的X坐标位置和Y坐标位置。

示例程序如下

Interface Diagram

在Mind+中点击上传到设备,等待程序上传完成后。
将HuskyLens 2的摄像头对准画面中的条形码可进行学习,如何学习条形码详细操作请看:条形码识别功能-学习条形码
将HUSKYLENS 2的摄像头对准条形码,观察K10屏幕显示的结果。
运行结果:如图所示,可输出检测到的条形码数量(无论是否该条形码已学习)、可输出指定的条形码ID,未学习的条形码则为0。

Interface Diagram

17.2获取画面中指定条形码的相关数据

HuskyLens 2识别条形码后,可获取画面中指定条形码的相关数据。例如,判断某个指定ID的条形码是否在画面中、可获取画面中相同ID的条形码数量,当画面中出现多个相同ID的条形码时,可指定获取其中某个条形码的相关参数,包括名称、内容、X/Y坐标、宽度、高度。

示例程序如下:

Interface Diagram

运行结果:如图所示,画面中有两个未学习的条形码(ID为0),第一个ID0条形码是下边的,该条形码的内容是“dfrobot”,第二个ID0条形码是上边的,该条形码的坐标是(345,47)。

Interface Diagram

17.3 条形码识别积木说明

积木 说明
HUSKYLENS 2 的条形码识别功能下,用于获取一次条形码识别的数据结果。
判断当前画面中是否存在条形码。
获取离屏幕十字光标最近的一个条形码的相关数据,包括条形码的ID、条形码名称、条形码中心点X坐标、条形码中心点Y坐标、宽度、高度和解析出的条形码内容。
获取屏幕中所有检测到的条形码的数量,包括未学习的和已学习的条形码。
当出现多个条形码时,获取某一指定条形码的相关数据。
判断指定ID的条形码是否存在在画面中。未学习的条形码ID统一为0,已学习的条形码ID按学习顺序排序。
获取当前画面中指定ID的条形码数量。
获取当前画面中指定ID的条形码的相关数据。
当出现多个同一ID的条形码时,获取某一指定条形码的相关数据。

18.自训练模型积木

HUSKYLENS 2支持用户安装自训练的目标检测模型,模型训练和安装教程请看:[自训练模型安装](二哈识图 2 使用教程 HUSKYLENS 2 WIKI

18.1 查看模型ID

电脑连接HUSKYLENS 2,将模型压缩文件放在电脑的\Huskylens\storage\installation_package目录下,这里我们以商品识别模型为例,点击下载商品识别模型文件

Interface Diagram

在HUSKYLENS 2中找到模型安装\本地安装,点击本地安装

Interface Diagram

安装成功后可以看到如下页面。

Interface Diagram

点击进入商品识别模型,在菜单栏找到模型ID,可以查看模型在 HUSKYLENS 2中对应的ID。如下,商品识别模型的ID为128,使用自训练模型积木时需要填如对应模型的ID。

Interface Diagram

注意:请确保当前HUSKYLENS 2的固件在1.15版本及以上,固件更新教程请看:更新固件

下面将以自训练的目标检测模型“商品识别”为例,介绍行空板M10如何读取HUSKYLENS 2自训练模型的识别结果。

18.2检测目标输出相关数据

HUSKYLENS 2能识别出现在画面中的目标物(仅能识别用户训练模型时数据集中的所有类别物体),可以通过编程获取画面中检测到的目标物相关数据。

自训练模型部署后,可以识别用户自己标注过的同类别的物体,与其他功能相同,自训练模型应用支持学习检测出的物体,当框出目标物后,按下A键,学习物体,为目标物分配ID。

可以读取的目标数据有:检测到的目标总数、已学习的目标总数,指定目标的数据,包括目标ID、名称、宽度、高度以及目标中心点的X坐标位置和Y坐标位置。

示例程序如下:

Interface Diagram

**运行结果:**如图所示,识别到画面中有2个商品分别时苹果和香蕉,靠近中心的目标是ID1苹果,第一个被识别的目标是ID1苹果。 在HUSKYLENS 2学习过的目标物则会按顺序分配ID号,未学习过则ID号为0。

Interface Diagram

18.3 获取画面中指定目标的相关数据

HuskyLens 2识别目标物后,可获取画面中指定目标的相关数据。例如,判断某个指定ID的目标物是否在画面中、可获取画面中相同ID的目标数量,当画面中出现多个相同ID的目标时,可指定获取其中某个条形码的相关参数,包括ID、名称、X/Y坐标、宽度、高度。

示例程序如下:

Interface Diagram

**运行结果:**如图所示,画面中有2个ID1商品,名称是“苹果”,第一个识别到的ID1苹果中心点坐标为(131,238)。

Interface Diagram

18.4 自训练模型积木说明

积木 说明
切换到指定自训练模型算法(算法ID号需进入HuskyLens 2对应算法后,点击参数“算法ID”查看)。
说明 Huskylens 2的算法IDN功能下,用于获取一次识别的数据结果。
判断当前画面中是否存在可识别目标。
获取离屏幕十字光标最近的一个目标的相关数据,包括目标的ID、目标的名称、目标中心点X坐标、目标中心点Y坐标、宽度、高度。
获取屏幕中所有检测到的可识别目标的数量。
当出现多个可识别目标时,获取某一指定目标的相关数据。
获获取已学习的目标数量,无论该目标是否存在于画面中。
判断指定ID的目标是否存在于画面中。(Huskylens 2学习目标后,会按学习顺序分配ID号。)
获取当前画面中指定ID的目标数量。
获取某一指定目标的相关数据。
当出现多个相同的目标时,获取某一指定目标的相关数据。

19.通用功能积木

HUSKYLENS 2的新版固件(v.1.2版本)新增以下通用功能,可与MindPlus中最新版本HUSKYLENS 2图形化库(最新版本为v.0.2)配套使用。

19.1无线通讯

当HUSKYLENS 2装上WIFI 模块后,当与主控连接在同一WIFI下时,可以通过无线通讯积木块,实现主控与HUSKYLENS 2之间的无线通讯。

首先,为HUSKYLENS 2装上WIFI 模块,点击查看安装教程

第2步,HUSKYLENS 2 联网。打开系统设置\WiFi, 开启WiFi, 点击对应WiFi名称,并输入密码。或者点击右上角扫码,扫码对应二维码,连接WIFI。联网成功得到HUSKYLENS 2的IP地址,这个地址就是填入积木中的无线通讯的IP。

Interface Diagram

第3步,加载行空板K10 WiFi库,在扩展库中加载网络服务\WiFi库,输入与HUSKYLENS 2同一个WiFi名称和密码

示例程序如下:

Interface Diagram

运行结果:如下图,确保HUSKYLENS 2 上电并连接WiFi。使用USB数据线连接行空板K10与电脑,上传程序,无须使用数据线连接K10与HUSKYLENS 2。当行空板K10 的屏幕上显示“连接成功“后,HUSKYLENS 2自动进入手势识别模式,按下行空板K10板载A键,可以远程在HUSKYLENS 2屏幕绘制矩形。

Interface Diagram

19.2 多模型使用

19.2.1 多模型并联使用

HUSKYLENS 2支持多个模型同时工作,完成不同的视觉识别工作。最多可以同时使用3个模型(注意如果只加载2个模型,第三个模型一定要选择‘‘无’’),并手动为每个模型分配算力。

如下:可以同时使用人脸识别、手势识别和物体追踪模型识别画面中是否有人物出现、人物的手势是什么以及是否有我们追踪的物体。这里我们为三个模型分配同等算力。

示例程序如下:

Interface Diagram

运行结果:如下图当画面中出现已经学习过的人物、手势和追踪物体时,HUSKYLENS 2能实时识别出来并将其对应名称显示在行空板K10的屏幕上。请预先学习人脸、手势和要追踪的物体。

Interface Diagram

19.2.2 多模型切换使用

HUSKYLENS 2内置模型较多,如果想在项目中切换不同模型,我们建议使用多模型模式预先加载好预备使用的模型,再通过配置算力的方式,实现不同模型之间的切换使用。

如下,实现实时检测画面中是否有人员跌倒,再判断具体跌倒人员是谁时,可以先启用跌倒检测模型,检测到跌倒行为后再启用人脸识别模型,识别是否是学习过的人脸,来确定跌倒人员的身份。

通过标志变量和切换算力配比,能实现多个模型之间的丝滑切换使用,避免每次切换重新加载模型的耗时问题。

示例程序如下:

Interface Diagram

运行结果:如下,HUSKYKLENS 2在跌倒检测模式当检测到跌倒行为,行空板K10的屏幕上出现警示文字,随后切换为人脸识别模式,对跌倒人员进行人脸识别,如果该人脸是事先学习过的人脸,行空板K10出现任务名称。

Interface Diagram

19.3 屏幕显示

可以通过屏幕显示指令在HUSKYLENS 2上绘制文字,矩形框和指示框。对于矩形框可以通过‘‘绘制新矩形’’指令在屏幕上绘制多个不同颜色和尺寸的矩形框。对于指示框,只能通过‘‘绘制或更新指示框’’指令,在屏幕上绘制一个特定的指示框。通过‘‘绘制或更新指示框’’指令,还能对此特定的指示框更新颜色和尺寸。

示例程序如下:

Interface Diagram

运行结果:如下,运行程序,HUSKYLENS 2进入人脸识别模式。屏幕上出现文字‘‘欢迎使用Huskylens2’’和两个不同尺寸的蓝色矩形框。按下行空板K10的A键,屏幕上出现一个绿色的指示框,按下行空板B键原来的绿色指示框更新为尺寸更小的红色指示框。

Interface Diagram

19.4 学习/遗忘 ID

​ 一般情况下,HUSKYLENS 2学习并记住ID的方式是手动按下HUSKYLENS 2的学习键-A键,HUSKYLENS 2学习十字光标内的目标物(人脸、物体、姿势等)。可以通过学习/遗忘 ID积木,通过程序让HUSKYLENS 2学习,为指定ID的目标命名、遗忘已学习的所有ID。

示例程序如下:

Interface Diagram

运行结果:如下,运行程序,HUSKYLENS 2进入人脸识别模式,左上角出现蓝色矩形框。当人脸出现在蓝色矩形框内时,按下行空板K10板载A键,HUSKYLENS 2自动学习人脸并将ID1人脸命名为‘‘李蕾’’,按下行空板K10板载B键,遗忘全部人脸ID。

Interface Diagram

19.5 多媒体

可以使用多媒体积木,实现HUSKYLENS 2的播放音频、拍照和截图功能。音频播放的mp3文件必须放在.\Huskylens\storage\audio 目录下

Interface Diagram

示例程序如下

Interface Diagram

运行结果如下:确保在.\Huskylens\storage\audio 目录下存在music.mp3,上传程序,HUSKYLENS 2进入人脸识别模式,按下B键,HUSKYLENS 2自动截图,行空板K10屏幕显示截图名称;按下A键,HUSKYLENS 2自动播放音乐

Interface Diagram